package com.net.xpay.core.manager.auto;

import com.net.common.manager.VersionedManager;
import com.net.xpay.core.domain.auto.AutoPayOrder;
import com.net.xpay.core.enums.AutoPayOrderStatus;
import com.net.xpay.core.model.AutoPayOrderSearchModel;

import java.math.BigDecimal;
import java.util.List;


public interface AutoPayOrderManager extends VersionedManager<Long,AutoPayOrder> {
    int batchSave(List<AutoPayOrder> records);

    int batchUpdate(List<AutoPayOrder> records);

    List<AutoPayOrder> search(AutoPayOrderSearchModel searchModel);

    long searchCount(AutoPayOrderSearchModel searchModel);

    int updateAutoPayOrderStatus(Long userId, Long autoPayBatchId, AutoPayOrderStatus status);

    List<AutoPayOrder> findByAutoPayTransBatchId(Long userId, Long autoPayTransBatchId);

    BigDecimal sumEnsuredAmount(Long userId);

    List<AutoPayOrder> list(AutoPayOrderSearchModel searchModel);
}
